package com.eralink.unionuhfreader.bean;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

public class ProductOrder {
    //@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "12987")
   // @ExcelProperty("主键")
    private String id;

   // @Schema(description = "终端类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
   // @ExcelProperty(value = "终端类型", converter = DictConvert.class)
   // @DictFormat("retail_client_type") // TODO 代码优化：建议设置到对应的 DictTypeConstants 枚举类中
    private String clientType;

  //  @Schema(description = "终端ID", example = "800")
  //  @ExcelProperty("终端ID")
    private String clientId;

  //  @Schema(description = "操作员")
  //  @ExcelProperty("操作员")
    private String actionUser;

  //  @Schema(description = "应付总金额", requiredMode = Schema.RequiredMode.REQUIRED)
 //   @ExcelProperty("应付总金额")
    private BigDecimal totalAmount;
 //   @Schema(description = "总成本", requiredMode = Schema.RequiredMode.REQUIRED)
  //  @ExcelProperty("总成本")
    private BigDecimal totalCostAmount;
  //  @Schema(description = "实际支付总金额", requiredMode = Schema.RequiredMode.REQUIRED)
 //   @ExcelProperty("实际支付总金额")
    private BigDecimal realTotalAmount;

   // @Schema(description = "退款总金额", requiredMode = Schema.RequiredMode.REQUIRED)
  //  @ExcelProperty("退款总金额")
    private BigDecimal totalRefundAmount;

  //  @Schema(description = "优惠总金额", requiredMode = Schema.RequiredMode.REQUIRED)
  //  @ExcelProperty("优惠总金额")
    private BigDecimal totalDiscountAmount;

  //  @Schema(description = "购买用户ID", example = "29014")
   // @ExcelProperty("购买用户ID")
    private String userId;

  //  @Schema(description = "用户手机号")
 //   @ExcelProperty("用户手机号")
    private String userMobile;

//    @Schema(description = "门店ID", example = "14844")
//    @ExcelProperty("门店ID")
    private Integer storeId;

   // @Schema(description = "门店名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
  //  @ExcelProperty("门店名称")
    private String storeName;

 //   @Schema(description = "支付渠道")
  //  @ExcelProperty(value = "支付渠道", converter = DictConvert.class)
  //  @DictFormat("retail_pay_channel") // TODO 代码优化：建议设置到对应的 DictTypeConstants 枚举类中
    private String payChannel;

  //  @Schema(description = "支付方式", example = "2")
  //  @ExcelProperty(value = "支付方式", converter = DictConvert.class)
  //  @DictFormat("retail_pay_type") // TODO 代码优化：建议设置到对应的 DictTypeConstants 枚举类中
    private String payType;

 //   @Schema(description = "支付状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
//    @ExcelProperty(value = "支付状态", converter = DictConvert.class)
  //  @DictFormat("retail_pay_status") // TODO 代码优化：建议设置到对应的 DictTypeConstants 枚举类中
    private Integer payStatus;

 //   @Schema(description = "支付时间")
  //  @ExcelProperty("支付时间")
    private Date payTime;

  //  @Schema(description = "退款时间")
  //  @ExcelProperty("退款时间")
    private Date refundTime;

  //  @Schema(description = "退款人")
  //  @ExcelProperty("退款人")
    private String refundActionUser;

  //  @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
 //   @ExcelProperty("创建时间")
    private Date createTime;

  //  @Schema(description = "备注", example = "你说的对")
  //  @ExcelProperty("备注")
    private String remark;
  //  @Schema(description = "批次", example = "12345")
  //  @ExcelProperty("批次")
    private String patch;

    private List<ProductOrderDetailDO> detailDOS;

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public String getClientType() {
    return clientType;
  }

  public void setClientType(String clientType) {
    this.clientType = clientType;
  }

  public String getClientId() {
    return clientId;
  }

  public void setClientId(String clientId) {
    this.clientId = clientId;
  }

  public String getActionUser() {
    return actionUser;
  }

  public void setActionUser(String actionUser) {
    this.actionUser = actionUser;
  }

  public BigDecimal getTotalAmount() {
    return totalAmount;
  }

  public void setTotalAmount(BigDecimal totalAmount) {
    this.totalAmount = totalAmount;
  }

  public BigDecimal getTotalCostAmount() {
    return totalCostAmount;
  }

  public void setTotalCostAmount(BigDecimal totalCostAmount) {
    this.totalCostAmount = totalCostAmount;
  }

  public BigDecimal getRealTotalAmount() {
    return realTotalAmount;
  }

  public void setRealTotalAmount(BigDecimal realTotalAmount) {
    this.realTotalAmount = realTotalAmount;
  }

  public BigDecimal getTotalRefundAmount() {
    return totalRefundAmount;
  }

  public void setTotalRefundAmount(BigDecimal totalRefundAmount) {
    this.totalRefundAmount = totalRefundAmount;
  }

  public BigDecimal getTotalDiscountAmount() {
    return totalDiscountAmount;
  }

  public void setTotalDiscountAmount(BigDecimal totalDiscountAmount) {
    this.totalDiscountAmount = totalDiscountAmount;
  }

  public String getUserId() {
    return userId;
  }

  public void setUserId(String userId) {
    this.userId = userId;
  }

  public String getUserMobile() {
    return userMobile;
  }

  public void setUserMobile(String userMobile) {
    this.userMobile = userMobile;
  }

  public Integer getStoreId() {
    return storeId;
  }

  public void setStoreId(Integer storeId) {
    this.storeId = storeId;
  }

  public String getStoreName() {
    return storeName;
  }

  public void setStoreName(String storeName) {
    this.storeName = storeName;
  }

  public String getPayChannel() {
    return payChannel;
  }

  public void setPayChannel(String payChannel) {
    this.payChannel = payChannel;
  }

  public String getPayType() {
    return payType;
  }

  public void setPayType(String payType) {
    this.payType = payType;
  }

  public Integer getPayStatus() {
    return payStatus;
  }

  public void setPayStatus(Integer payStatus) {
    this.payStatus = payStatus;
  }



  public String getRefundActionUser() {
    return refundActionUser;
  }

  public void setRefundActionUser(String refundActionUser) {
    this.refundActionUser = refundActionUser;
  }



  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public String getPatch() {
    return patch;
  }

  public void setPatch(String patch) {
    this.patch = patch;
  }

  public List<ProductOrderDetailDO> getDetailDOS() {
    return detailDOS;
  }

  public void setDetailDOS(List<ProductOrderDetailDO> detailDOS) {
    this.detailDOS = detailDOS;
  }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Date getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(Date refundTime) {
        this.refundTime = refundTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}
